So zeigen Webshops statt Produktlisten plötzlich die Kreditkartennummern aller angemeldeten Benutzer an, Preise lassen sich über das Internet ändern oder Datenbanken geben die Firmenumsätze der letzten Tage heraus. Da die Firewall davon nichts merkt, gibt es jetzt spezielle „Application Security Gateways“, die die Eindringlinge stoppen sollen.
Wenn ein Nutzer Bücher von Hesse kaufen will, muss er sich im Online-Shop nicht durch den gesamten Katalog arbeiten. Er tippt einfach „Hesse“ in ein Feld und klickt auf „Suchen“. Die Web-Anwendung holt sich nun ihre Informationen aus der dahinter liegenden Datenbank, sie reicht die Suchanfrage ungeprüft nach hinten weiter, und bekommt eine Liste der Ergebnisse zurück.
Diese Arbeitsweise hat gleich mehrere Sicherheitslücken: Sobald der Nutzer eine Abfrage startet, kommen seine Daten über den offenen http-Port 80 ins Unternehmensnetz. Daten, die über diesen Port laufen, werden von den meisten Firewalls ignoriert, denn hier spielt sich der gesamte Internet-Verkehr eines Unternehmens ab. Die Firewall prüft allenfalls, ob die Pakete wirklich http-Pakete sind, um den Datenstrom möglichst ungehindert durchzulassen.
Weder Server noch Datenbank, noch Firewall schauen hingegen nach, ob die Eingabe unseres Nutzers überhaupt zulässig ist – ob sie zum Beispiel statt eines einfachen Wortes auch Ausrufezeichen, Hochkommata oder Semikolons enthält, wie es bei Programmbefehlen der Fall ist. Diese Nachlässigkeit nutzen Hacker aus und geben statt eines Suchwortes SQL-Befehlsketten ein – der gefürchtete „SQL-Injection“-Angriff. Der Server reicht diese SQL-Befehle klaglos an die Datenbank weiter – und diese gehorcht. Auf diese Weise kann der Hacker nicht nur alle möglichen Informationen bekommen, sondern unter Umständen sogar ändern – und seinen Hesse zum Nulltarif bestellen.
Neueste Kommentare
2 Kommentare zu Unsichere Web-Anwendungen: Einfallstor für Hacker
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
SQL-Injection ist ein uralter Hut!
Das Problem ist schon mindestens seit Beginn der Client/Server-Programmierung bekannt und gelöst. Warum also dieser Artikel?
Es scheint, hier soll ausschließlich billige Werbung gemacht werden… :-/
Die Lösung gegen SQL-Injection ist übrigens trivial: Man verdopple einfach alle Anführungszeichen in jedem Eingabestring und schon werden diese vom DBMS nicht mehr als String-Ende interpretiert, sondern eben als Anführungszeichen innerhalb eines Strings.
http://www.schwider.de/
AW: SQL-Injection ist ein uralter Hut!
SQL-Injection ist wirklich nicht der neueste Hacker-Trick. Da hast Du wohl recht.
Aber ich halte diesen Artikel trotzdem für aktuell. Denn er zeigt ein eher grundsätzlichen Problem auf, nämlich dass auch heute noch lange nicht jeder Programmierer seine Datenbank so absichert.
Im übrigen könnten solche Gateways, wie in dem Artikel beschrieben, auch verwendent werden um Tunneling zu unterbinden. Alles nur eine Frage der unterstützten Protokolle.